package com.jinsi.controller;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.jinsi.pojo.Page;
import com.jinsi.pojo.Result;
import com.jinsi.pojo.Stu;
import com.jinsi.service.StuSerivce;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/stu")
public class StuController {

    @Autowired
    private StuSerivce stuSerivce;

    // layui请求后台默认携带page和limit参数
    //前端 page  --- pageNum
    // limit --- pageSize
    @ResponseBody
    @RequestMapping("/getPage")
    public Page<Stu> getPage(@RequestParam("page") int pageNum,@RequestParam("limit") int pageSize){


        Page<Stu> page = new Page<>();
        page.setPageNum(pageNum);
        page.setPageSize(pageSize);
        int count = stuSerivce.getCount();
        page.setCount(count); // 总条数
        page.setList(stuSerivce.getPageList(pageSize,pageNum)); // 展示数据
// 总条数/pageSize   9/2 
        int pz = 0;
        if(count%pageSize == 0){
            pz = count/pageSize;
        }else{
            pz = count/pageSize+1;
        }
        
        page.setPagetotal(pz);

        return page;
    }

    @ResponseBody
    @RequestMapping("/getPage2")
    public Map<String,Object> getPage2(@RequestParam("page") int pageNum, @RequestParam("limit") int pageSize){

        Map<String,Object> map = new HashMap<>();

        int count = stuSerivce.getCount();
        List<Stu> pageList = stuSerivce.getPageList(pageSize, pageNum);

        map.put("code",0);
        map.put("msg","成功");
        map.put("count",count);
        map.put("list",pageList);


        return map;
    }


    @ResponseBody
    @RequestMapping("/getPage3")
    public Map<String,Object> getPage3(int page,int limit){

        // 这句代码写在前面
        // 开始分页 page 页数，，limit,分页条数
        PageHelper.startPage(page, limit);
        List<Stu> all = stuSerivce.getAll(); // 查询所有数据
     // 创建PageInfo  ,根据查到的所有数据，创建PageInfo
        PageInfo<Stu> info = new PageInfo<>(all);

        Map<String,Object> map = new HashMap<>();
        map.put("code",0);
        map.put("msg","成功");
        map.put("count",info.getTotal()); // info对象中获取总条数
        map.put("list",info.getList());// info中获取分页的数据


        return map;
    }
}
